In recent years, mobile communication services have expanded and increased in popularity around the world. Many operators of modern mobile communication networks offer their users or subscribers advanced data communication services, in addition to standard wireless mobile communication services such as for voice calls or mobile messaging services (e.g., text and/or multimedia) and data transport services (e.g., for Internet access, or third party email or content access). Advanced application layer data services, from the carriers and third party providers, may take various forms and may include different subscription-based services. For example, such subscription-based services provided by the mobile network operator or wireless carrier may allow a user/subscriber to purchase or access premium data content (e.g., streaming video) directly from the user's mobile device via, for example, a client application program executing on the device and have the charges for the premium service included on the mobile service bill from the mobile network operator or wireless carrier.
In general, a mobile network operator relies on a unique operator or billing identifier associated with the particular mobile device user to identify the user (or user account) in order to bill the user's account directly for the particular service purchased or accessed by the user at the mobile device (e.g., via the client application). An example of an operator/billing identifier that is commonly used by mobile network operators is the telephone number associated with a mobile device of the user. This number may be referred to as the Mobile Directory Number (MDN) in 3rd Generation Partnership Project 2 (3GPP2) wireless network systems or the Mobile Subscriber Integrated Services Digital Network Number (MSISDN) in 3rd Generation Partnership Project (3GPP) systems.
However, the mobile network operator may not have an efficient way to determine the billing identifier based on the information received from the client application at the operator's application server. For example, the billing identifier may not be included in the data communication requests from the client application to the associated application server configured to provide the user-requested service or transaction through the mobile communication network. In some cases, this may be due to the type of mobile device or operating system environment on which the client application is executing. For example, the device manufacturer or operating system developer may restrict the client application from accessing the identifier assigned to the mobile device by the operator directly from the mobile device, instead requiring an application configuration that uses a different type of identifier, such as one assigned by the operating system developer. Such an operating system configuration precludes the client application from providing the identifier in communications with the associated application server.
One example of such a mobile computing platform is the “iPhone OS” or “iOS” mobile operating system from Apple Inc. of Cupertino, Calif. Current versions of the application programming interface (API) for this particular operating system do not provide a capability to determine the network operator's billing identifier programmatically from the mobile device itself. Instead, the application can only obtain and use a different identifier, for example, a device identifier specified by the manufacturer of the device (e.g., the unique device identifier or “UDID” associated with iOS devices). Consequently, for any mobile device with the iOS operating system or other operating system that presents a similar type of problem, network operators must rely on the manufacturer of the device or the API developer/publisher (e.g., Apple Inc.) for obtaining the operator assigned device identifier based on a mapping of the manufacturer's device identifier (e.g., the UDID in the iOS example) to the operator identifier for billing purposes. This involves the device manufacturer or operating system developer in the commercial transactions that occur between the operator and the operator's mobile service customers, which may be undesirable for the operator.
Other conventional techniques are available to mobile network operators for obtaining the operator assigned identifier, without the aid of the device manufacturer or API developer. For example, the application server may track the IP address associated with the mobile device for purposes of identifying the operator identifier (e.g., MDN) associated with the device for data communications. In this example, the application server uses one or more elements in the mobile communication network itself to determine the appropriate operator identifier (ID) based on the IP address associated with the device (e.g., a carrier database that maintains a mapping between operator ID and IP address assigned for each mobile device). However, performing such an operation is operationally intensive as it requires the carrier database to track IP address assignment for each mobile device and the application server to make this determination for each data communication from the device as the assigned IP address and/or associated operator ID for the device may have changed since the previous request. For example, each IP address-to-operator ID mapping must be tracked over time, including each time a new IP address is assigned to the device and each time any previously assigned IP address that is associated with an operator identifier for the device is modified.
In addition, a unique static or dynamic IP address may need to be assigned to the mobile device so as to uniquely map the IP address with the appropriate operator identifier and therefore, ensure the identifier associated with the device is correctly identified. This unique IP address would remain dedicated to the device for as long as there is active data traffic associated with the IP data flow. However, assigning a dedicated IP address to the mobile device for an indefinite period of time would reduce the number of IP addresses available for use in the network. This would be a significant problem for the mobile communication network as the current availability of global IP version 4 (IPv4) addresses becomes increasingly scarce.
To mitigate problems associated with limited supplies of IP addresses, modern mobile network systems may rely on network address translation (NAT) schemes. However, such NAT schemes typically use a relatively small pool of available IP addresses, which are shared concurrently amongst mobile devices for enabling data communications to other devices, which, for example, are external to the mobile communication network through the Internet. Therefore, assigning a unique IP address to each mobile device, to allow an application server to determine each mobile device operator identifier may be incompatible with the NAT scheme of the communication network.
Other techniques exist that do not require a dedicated IP address to be permanently assigned in order to obtain the operator identifier. For example, the application server may require the user to supply the MDN, for example, as part of a validation process based on short message service (SMS) or multimedia messaging service (MMS) messages. However, such techniques generally lead to reduced user experience as several user interactions are required merely to obtain the MDN.
Also, any validation process that is dependent on user input is generally susceptible to human error (e.g., user enters a wrong MDN) or to improper or fraudulent use. In an example, one user (User B) may provide an MDN belonging to another cooperating user (User A) for advanced data services for which only User A has a valid subscription. The application server may subsequently send a validation request in the form of an SMS message based on the provided MDN, which would therefore reach User A. User A can then send another SMS message with authentication information in response to the validation request from the server so as to complete the account validation/verification process for the benefit of User B. In a further example, the SMS message from the application server may include a password or verification code required for accessing the particular application data services. User A could forward this message to User B, which User B could provide to the application in order to complete the validation/verification process.
Furthermore, not all mobile devices (e.g., the iPad tablet device from Apple Inc.) support SMS or MMS messaging technology, and hence, would preclude the use of any validation process that uses this technology.